package com.gupt.weekly.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;

/**
 * @author linzizun
 * @version 1.0
 * @date 2021/04/12 17:38
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(description = "周报内容")
@TableName(value = "tb_report_content")
public class ReportContent {
    @ApiModelProperty(value = "主键非空", example = "创建新用户不要传此字段，会自动生成")
    @TableId(value = "id", type = IdType.ASSIGN_UUID)
    private String id;

    @NotBlank(message = "请发送周报id")
    @ApiModelProperty(value = "所属周报，关联tb_report.id")
    private String report_id;

    @NotBlank(message = "类别不能为空（1 本周工作记录，2 下周工作计划）")
    @Max(value = 2, message = "数据不符合规格（1 本周工作记录，2 下周工作计划）")
    @Min(value = 1, message = "数据不符合规格（1 本周工作记录，2 下周工作计划）")
    @ApiModelProperty(value = "类别非空：1 本周工作记录，2 下周工作计划")
    private Integer category;

    @ApiModelProperty(value = "项目条目，关联tb_report_item.id")
    private String project_item;

    @ApiModelProperty(value = "工作条目，关联tb_report_item.id")
    private String work_item;

    @ApiModelProperty(value = "工作内容")
    private String message;

    @Max(value = 3, message = "数据不符合规格（1 高，2 中，3 低）")
    @Min(value = 1, message = "数据不符合规格（1 高，2 中，3 低）")
    @ApiModelProperty(value = "优先级：1 高，2 中，3 低")
    private Integer priority;

    @Max(value = 1, message = "数据不符合规格（0 否，1 是）")
    @Min(value = 0, message = "数据不符合规格（0 否，1 是）")
    @ApiModelProperty(value = "已完成：0 否，1 是")
    private Integer has_finished;

    @ApiModelProperty(value = "发现问题（下周工作计划不填此字段）")
    private String problem;

    @ApiModelProperty(value = "解决方法（下周工作计划不填此字段）")
    private String resolvent;
}
